Безопасность и защита сайта от угроз и взлома. Введение 2017 Предлагаем вашему вниманию курс «Безопасность и защита сайта от угроз и взлома», в котором мы на практических примерах рассмотрим наиболее серьезные угрозы для безопасности сайта, а также способы предотвращения этих угроз. Количество угроз в сфере WEB – растет с каждым днем. Однако, от большинства этих угроз мы вполне можем обезопасить свое приложение, достаточно лишь следовать некоторым правилам и принципам при создании приложения. В этих уроках мы как раз и рассмотрим этот список правил и принципов. В каждом из уроков мы будем брать конкретную уязвимость, наблюдать ее последствия, а также пытаться защититься от созданной угрозы. В уроках мы рассмотрим такие темы, как: SQL-инъекции; Межсайтовый скриптинг – XSS; Межсайтовая подделка запроса – CSRF; Недочеты системы аутентификации и хранения сессий; Безопасная конфигурация компонентов приложения; И другое… Итак, жду вас в новой серии уроков, посвященных вопросам безопасности веб-приложений. Урок 1. Виды уязвимостей сайта: От автора: в этом уроке мы поговорим о теоретических моментах проблемы безопасности сайта. В частности, мы рассмотрим основные варианты угроз и уязвимостей, на которые стоит обратить внимание в первую очередь, среди них такие, как: SQL-инъекции, XSS, CSRF, неконтролируемый доступ к файлам и другие. Урок 2. Доступ к файлам и хранение паролей: От автора: в этом уроке мы перейдем от теории к практике и поговорим о вопросах хранения паролей и проблеме неконтролируемого доступа к файлам. В частности, мы рассмотрим варианты хранения паролей, а также варианты их шифрования. Также достаточно много внимания мы уделим вопросу ограничения доступа к файлам на сервере. Урок 3. SQL-инъекции. Часть 1: От автора: в этом уроке мы начнем знакомиться с одной из наиболее опасных видов уязвимостей – SQL-инъекции. Из урока вы узнаете, что такое SQL-инъекции и чем они могут быть опасны. Также мы установим специальное веб-приложение bWAPP, которое специально создано для изучения вопросов безопасности сайта. Урок 4. Безопасность сайта. SQL-инъекции. Часть 2: От автора: в этом уроке мы взглянем на взлом сайта глазами начинающего хакера, а именно – мы попробуем взломать сайт, эксплуатируя имеющуюся на нем SQL уязвимость. Благодаря проведенной SQL-инъекции мы не только сможем узнать данные о текущей БД, но и даже получить логин и пароли пользователей. Урок 5. Безопасность сайта. SQL-инъекции. Часть 3: От автора: в этом уроке мы продолжим изучение темы SQL-инъекций и напишем два простейших приложения с SQL-уязвимостями. Благодаря им мы сможем провести SQL-инъекции и авторизоваться под учетной записью администратора, не зная его пароля. Также мы научимся предотвращать SQL-инъекции, создавая защищенные приложения. Урок 6. Безопасность сайта. SQL-инъекции. Часть 4: От автора: в завершающем уроке по изучению темы SQL-инъекций мы рассмотрим один из многих инструментов, которые хакеры используют в работе и благодаря которым процесс эксплуатации SQL уязвимостей автоматизируется. Это будет приложение sqlmap и вы можете использовать его для проверки ваших приложений на уязвимости с тем, чтобы закрывать их. Урок 7. Безопасность и защита сайта. XSS. Часть 1: От автора: в этом уроке мы начнем рассматривать один из наиболее опасных видов уязвимостей – XSS или межсайтовый скриптинг. Принцип эксплуатации этой уязвимости схож с SQL-инъекциями, с той лишь разницей, что эксплуатация SQL-инъекций предполагаете работу с серверным кодом и встраивание произвольного кода в запросы SQL, а XSS предполагает встраивание кода в HTML, т.е. в клиентский код. Урок 8. Безопасность и защита сайта. XSS. Часть 2: От автора: в предыдущем уроке мы с вами начали рассматривать достаточно опасный вид уязвимостей — XSS. Мы увидели, к каким последствиям может привести данная уязвимость. В лучшем случае, это может быть дефейс страницы, т.е. изменение ее внешнего вида. В более худших вариантах – это может быть кража кук. В этом уроке мы рассмотрим варианты устранения уязвимостей XSS. Урок 9. Безопасность сайта. XSS. Часть 3: От автора: в предыдущем уроке мы с вами рассмотрели функции PHP, позволяющие обезопасить сайт от XSS атак. В этом уроке мы рассмотрим еще один аспект защиты сайта от XSS уязвимостей, а именно – защита кук. В частности, мы узнаем, как защитить сессионные и пользовательские куки. Урок 10. Безопасность сайта. Обратный путь в директориях: От автора: в данном уроке мы познакомимся с вариантом уязвимости под условным названием «обратный путь в директориях». Суть данной уязвимости состоит в том, что при недостаточной фильтрации входящих данных наш скрипт, подключающий файлы, может предоставить доступ злоумышленнику к закрытым данным. Урок 11. Безопасность сайта. Подделка форм: От автора: в этом уроке мы вновь выступим в роли хакера или, скорее, продвинутого пользователя и попытаемся подделать данные формы. При недостаточной валидации данных на стороне сервера мы можем нарушить целостность данных или подделать критические данные, например цену товара. Урок 12. Безопасность сайта. CSRF-атака. Общее представление: От автора: в этом и нескольких следующих уроках мы рассмотрим такой специфичный тип атаки и уязвимости, как CSRF. Данная аббревиатура расшифровывается как Сross Site Request Forgery, т.е. Межсайтовая подделка запроса. Это наиболее игнорируемый и недооцененный тип уязвимости, которая от этого не становится менее опасной. Эксплуатируя данную уязвимость, хакер может выполнять некоторые действия от имени пользователя. В данном уроке мы получим общее представление о CSRF. Урок 13. Безопасность сайта. CSRF-атака. Эксплуатация уязвимости: От автора: в этом и нескольких следующих уроках мы рассмотрим такой специфичный тип атаки и уязвимости, как CSRF. Данная аббревиатура расшифровывается как Сross Site Request Forgery, т.е. Межсайтовая подделка запроса. Это наиболее игнорируемый и недооцененный тип уязвимости, которая от этого не становится менее опасной. Эксплуатируя данную уязвимость, хакер может выполнять некоторые действия от имени пользователя. В данном уроке мы взглянем на CSRF глазами хакера и попробуем эксплуатировать данную уязвимость. Урок 14. Безопасность сайта. CSRF-атака. Защита: От автора: в этом и нескольких следующих уроках мы рассмотрим такой специфичный тип атаки и уязвимости, как CSRF. Данная аббревиатура расшифровывается как Сross Site Request Forgery, т.е. Межсайтовая подделка запроса. Это наиболее игнорируемый и недооцененный тип уязвимости, которая от этого не становится менее опасной. Эксплуатируя данную уязвимость, хакер может выполнять некоторые действия от имени пользователя. В данном уроке мы взглянем на CSRF глазами программиста и попробуем защититься от данной уязвимости. Урок 15. Безопасность сайта. Базовая аутентификация: От автора: в этом уроке мы рассмотрим один из простейших и в то же время достаточно надежный вариант защиты для ваших веб-приложений – базовая аутентификация. Используя базовую аутентификацию, предлагаемую сервером Apache, мы можем быстро и надежно защитить как отдельную страничку, так и все приложение в целом.